Query Execution Lifecycle

Database Tutorials - অ্যাপাচি প্রেস্টো (Apache Presto) Presto এর মৌলিক ধারণা |
195
195

Presto-তে Query Execution Lifecycle একটি গুরুত্বপূর্ণ প্রক্রিয়া যা SQL কোয়েরি শুরু থেকে ফলাফল পাওয়া পর্যন্ত সমস্ত পদক্ষেপ অন্তর্ভুক্ত করে। এটি বিভিন্ন পর্যায়ে বিভক্ত, যেখানে প্রতিটি পর্যায় কোয়েরি সম্পর্কিত বিভিন্ন কার্যাবলী সম্পাদন করে। নিচে Presto Query Execution Lifecycle-এর ধাপে ধাপে বিশ্লেষণ করা হলো।


১. কোয়েরি গ্রহণ (Query Reception)

  • কোয়েরি পাঠানো:
    ব্যবহারকারী বা অ্যাপ্লিকেশন Presto-কে একটি SQL কোয়েরি পাঠায়। এটি একটি সাধারণ SELECT, INSERT, UPDATE, বা DELETE কোয়েরি হতে পারে।
  • কো-অর্ডিনেটর দ্বারা গ্রহণ:
    কোয়েরি প্রথমে Coordinator Node-এ পৌঁছায়, যা Presto ক্লাস্টারের কেন্দ্রীয় নোড হিসেবে কাজ করে। এটি কোয়েরির বিশ্লেষণ শুরু করে।

২. কোয়েরি পার্সিং (Query Parsing)

  • কোয়েরি পার্সিং:
    কো-অর্ডিনেটর নোড কোয়েরির সিনট্যাক্স যাচাই করে এবং তা লেক্সিক্যাল পার্সার দ্বারা পার্স করে। যদি কোয়েরি সিনট্যাক্স ভুল থাকে, তবে এখানে একটি ত্রুটি সৃষ্টি হয়।
  • পার্সড AST (Abstract Syntax Tree):
    সিনট্যাক্স বিশ্লেষণ পরবর্তী, কোয়েরি একটি AST (Abstract Syntax Tree)-এ রূপান্তরিত হয়। AST কোয়েরির কাঠামো ও গঠন দেখায়।

৩. কোয়েরি অপটিমাইজেশন (Query Optimization)

  • লজিক্যাল অপটিমাইজেশন:
    কো-অর্ডিনেটর নোড লজিক্যাল অপটিমাইজার ব্যবহার করে কোয়েরির একটি অপটিমাইজড সংস্করণ তৈরি করে। এখানে ফিল্টারিং, প্রজেকশন, জয়েন অপটিমাইজেশন এবং রিডান্ডেন্ট অপারেশন দূর করা হয়।
  • কোস্ট-বেসড অপটিমাইজেশন:
    Presto কোস্ট-বেসড অপটিমাইজার ব্যবহার করে কিভাবে কোয়েরির বিভিন্ন অংশ এক্সিকিউট করা হবে তা নির্ধারণ করে। এখানে বিভিন্ন অপশন যেমন জয়েনের ধরণ, ফাইল স্ক্যানের ধরন এবং ডেটা পার্টিশনিং অপটিমাইজ করা হয়।

৪. এক্সিকিউশন প্ল্যান নির্মাণ (Execution Plan Creation)

  • লজিক্যাল প্ল্যান থেকে ফিজিক্যাল প্ল্যান:
    অপটিমাইজড কোয়েরি একটি ফিজিক্যাল এক্সিকিউশন প্ল্যান-এ রূপান্তরিত হয়। এটি নির্ধারণ করে যে কোয়েরি কীভাবে কার্যকর হবে, কোন নোড থেকে ডেটা সংগ্রহ করা হবে এবং কতগুলি সাব-কোয়েরি চালানো হবে।
  • কোয়েরি এক্সিকিউশন প্ল্যান:
    এক্সিকিউশন প্ল্যান তৈরি হওয়ার পর, কো-অর্ডিনেটর নোড তার শিডিউলিং শুরু করে এবং কাজ গুলি Worker নোডগুলিতে পাঠায়।

৫. ডেটা স্ক্যান (Data Scanning)

  • ডেটা সোর্সের সাথে সংযোগ:
    কোয়েরির এক্সিকিউশন শুরু হলে, Presto সংশ্লিষ্ট ডেটা সোর্স (যেমন HDFS, MySQL, PostgreSQL, S3 ইত্যাদি) থেকে ডেটা সংগ্রহ করতে থাকে।
    • হাইভ কানেক্টর ব্যবহার করে ডেটা স্ক্যান করা হতে পারে।
    • S3 বা HDFS থেকে ফাইল স্ক্যান করতে হতে পারে।
  • ডেটা সিলেকশন:
    Workers ডেটা সংগ্রহ করে এবং কোয়েরির নির্দিষ্ট কলাম এবং রেকর্ডগুলির সাথে সিলেকশন সম্পাদন করে।

৬. জয়েন এবং গ্রুপিং (Join and Grouping)

  • জয়েন অপারেশন:
    কোয়েরির মধ্যে থাকা বিভিন্ন টেবিল বা ডেটাসোর্সগুলির মধ্যে Join অপারেশন পরিচালনা করা হয়। Presto বিভিন্ন ধরনের জয়েন সমর্থন করে, যেমন Inner Join, Left Join, Right Join, এবং Full Outer Join
  • গ্রুপিং অপারেশন:
    যদি কোয়েরিতে GROUP BY ব্যবহৃত থাকে, তবে ডেটাকে গ্রুপ করা হয় এবং গ্রুপ ভিত্তিক অপারেশন যেমন SUM, AVG, COUNT ইত্যাদি প্রয়োগ করা হয়।

৭. কোয়েরি এক্সিকিউশন (Query Execution)

  • Worker Nodes দ্বারা Execution:
    Worker নোডগুলি তাদের নির্ধারিত কাজ সম্পন্ন করে এবং ডেটা প্রক্রিয়া করতে শুরু করে। এই কাজের মধ্যে ডেটা স্ক্যান, জয়েন, গ্রুপিং এবং অন্যান্য অপারেশন অন্তর্ভুক্ত থাকতে পারে।
  • ফলাফল সংগ্রহ:
    Worker Nodes তাদের প্রক্রিয়া করা ডেটা ফলাফল হিসাবে কো-অর্ডিনেটর নোডে পাঠায়।

৮. কোয়েরি ফলাফল (Query Result)

  • ফলাফল কো-অর্ডিনেটর নোডে ফেরত:
    সমস্ত Worker থেকে প্রক্রিয়া করা ডেটা সংগ্রহ করার পর, কো-অর্ডিনেটর নোড সেই ফলাফলগুলি ক্লায়েন্ট বা ব্যবহারকারীকে প্রদান করে।
  • ফলাফল ফেরত:
    কো-অর্ডিনেটর নোড ফলাফলগুলি পাঠায় এবং ব্যবহারকারী বা ক্লায়েন্ট এটি দেখতে পায়। যদি কোয়েরি বড় হয়, তবে প্রাপ্ত ফলাফল পেজিনেশন বা অন্যান্য অপটিমাইজেশনের মাধ্যমে সরবরাহ করা হতে পারে।

Query Execution Lifecycle-এ অংশগ্রহণকারী উপাদান

  • Coordinator Node: কোয়েরি গ্রহণ, অপটিমাইজেশন, এক্সিকিউশন প্ল্যান তৈরি এবং কাজের বরাদ্দ।
  • Worker Nodes: কোয়েরি এক্সিকিউট করা, ডেটা প্রসেস করা এবং ফলাফল কো-অর্ডিনেটর নোডে পাঠানো।
  • Clients: কোয়েরি পাঠানো এবং ফলাফল গ্রহণ করা।

Presto এর Query Execution Lifecycle একটি জটিল এবং মাল্টি-স্টেপ প্রক্রিয়া, যেখানে একাধিক উপাদান এবং অপটিমাইজেশন থাকে, যা একে দ্রুত এবং দক্ষ করে তোলে।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion
;